home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / HAMRADIO / LOGBOOK.ZIP / DXCC.PRG < prev    next >
Text File  |  1987-07-17  |  7KB  |  214 lines

  1. *DXCC.PRG CALLED FROM LOGBOOK/LOGAWARD VERSION 860626
  2. * BY JOE KASSER G3ZCZ (c) 1985,1986
  3.  
  4. DO WHILE task <> '*'
  5.    ERASE
  6.    @ 3,11 SAY  'G3ZCZ DXCC AWARD PACKAGE Version 1.7'
  7.    @ 5,1  SAY 'Default DXCC database is '
  8.    @ 5,26 SAY dxcc
  9.    @  6,1 SAY 'Default LOG database is'
  10.    @ 6,26 SAY logbook
  11.    @  9,1 SAY 'UPDATE DXCC RECORDS  (Automatic)            U'
  12.    @ 10,1 SAY 'UPDATE DXCC RECORDS  (Manual)               M'
  13.    @ 11,1 SAY 'CREATE A NEW DXCC DATABASE                  C'
  14.    @ 12,1 SAY 'CREATE 5BDXCC RECORDS                       5'
  15.    @ 13,1 SAY 'PRINT DXCC RECORDS                          P'
  16.    @ 14,1 SAY 'ADD PREFIXES TO A DXCC DATABASE             A'
  17.    @ 15,1 SAY 'CHANGE DXCC DATABASE                        D'
  18.    @ 16,1 SAY 'EDIT PREFIXES IN DXCC RECORD FILE           E'
  19.    @ 17,1 SAY 'CHANGE LOGBOOK                              L'
  20.    @ 18,1 SAY 'UPDATE SINGLE BAND DXCC RECORD (Automatic)  S'
  21.    @ 19,1 SAY 'DISPLAY DATA FOR A PREFIX/COUNTRY           X'
  22.    @ 20,1 SAY 'DISPLAY FILES ON DISK DRIVE                 F'
  23.    @ 21,1 SAY 'QUIT THIS MENU                              *'
  24.    @ 22,1 SAY 'QRU'
  25.    @ 22,5 GET task
  26.    READ
  27.  
  28.    IF task = 'F'
  29.       ERASE
  30.       ACCEPT 'WHICH DRIVE ' TO diskdrive
  31.       STORE diskdrive + ':' TO diskdrive
  32.       DISPLAY FILES ON &diskdrive
  33.       RELEASE diskdrive
  34.       WAIT
  35.    ENDIF
  36.  
  37.    IF task = 'D'
  38.       @ 22,1 SAY 'Which DXCC file '
  39.       @ 22,18 GET dxcc
  40.       READ
  41.       IF FILE(dxcc+'.DBF')
  42.          @ 22,1 SAY '                          '
  43.       ELSE
  44.          ? 'WARNING, file',dxcc,' does not exist on default disk'
  45.          WAIT
  46.       ENDIF
  47.    ENDIF
  48.  
  49.    IF task = 'C'
  50.       STORE 'DXCC' TO dxcc
  51.       IF FILE(dxcc+'.DBF')
  52.          * DXCCCLR 850923 CREATES A CLEAR DXCC RECORD FILE
  53.          STORE '           ' TO blank
  54.          ACCEPT 'What is the name of the new DXCC file ? ' TO dxcc
  55.          ?
  56.          IF FILE (dxcc+'.DBF')
  57.             ? 'ERROR ',dxcc,' ALREADY EXISTS' 
  58.          ELSE
  59.             use dxcc                                               
  60.             ? 'CREATING blankdx FILE AND COPYING DATA'             
  61.             SET TALK ON
  62.             COPY TO &dxcc                                          
  63.             SET TALK OFF                                           
  64.             USE &dxcc                                              
  65.             ? 'MAKING SURE NEW FILE IS BLANK'                      
  66.             DO WHILE .NOT. EOF()                                   
  67.                ? px,px1,country                                    
  68.                REPLACE dcall WITH blank                            
  69.                REPLACE ddate WITH blank                            
  70.                REPLACE dtime WITH blank                            
  71.                REPLACE dband WITH blank                            
  72.                REPLACE dmode WITH blank                            
  73.                REPLACE dstate WITH blank
  74.                SKIP                                                
  75.             ENDDO                                                  
  76.             ?                                                      
  77.             ? 'NEW BLANK DXCC FILE CREATED'                        
  78.             RELEASE blank                                          
  79.             USE                                                    
  80.          ENDIF
  81.       ELSE
  82.          ? 'ERROR, Blank file DXCC.DBF does not exist on default disk'
  83.          WAIT
  84.       ENDIF
  85.    ENDIF
  86.  
  87.    IF task = 'L'
  88.       @ 22,1 SAY 'Which Log file '
  89.       @ 22,15 GET logbook
  90.       READ
  91.       IF FILE (logbook+'.DBF')
  92.          @ 22,1 SAY '                          '
  93.       ELSE
  94.          @ 22,1 SAY ' '
  95.          ? 'ERROR, ',logbook, 'IS NOT PRESENT ON DRIVE'
  96.          WAIT
  97.       ENDIF
  98.    ENDIF
  99.  
  100.    IF task = '*'
  101.       * DO NOTHING
  102.    ELSE
  103.       IF FILE (dxcc+'.DBF')
  104.          *FILE EXISTS
  105.          DO CASE
  106.  
  107.          CASE task = 'S'
  108.             DO DXCCSB
  109.  
  110.          CASE task = 'E'
  111.             DO DXCCPXED
  112.  
  113.          CASE task = '5'
  114.             DO DXCC5B
  115.  
  116.          CASE task = 'A'
  117.             DO DXCCPXAD
  118.  
  119.          CASE task = 'P'
  120.             ERASE
  121.             STORE ' ' TO choice
  122.             @ 5,1 SAY ' '
  123.             ACCEPT 'All PXs,Worked/QSL-d,or QSL-d (P,W,Q) ' TO choice
  124.             @ 10,1 SAY ' '
  125.             IF CHOICE = 'P' .OR. CHOICE = 'W' .OR. CHOICE = 'Q'
  126.                STORE ' ' TO pf
  127.                ACCEPT 'Do you want hard copy (Y/N) ?' TO pf
  128.                DO DXCCPRNT
  129.                RELEASE pf
  130.             ELSE
  131.                ? CHOICE,' IS NOT VALID, ENTER  P or W  or Q only please '
  132.             ENDIF
  133.             WAIT
  134.  
  135.          CASE task = 'U'
  136.             IF logbook = '      '
  137.                @ 23,1  SAY 'OPEN A LOGBOOK FIRST'
  138.                WAIT
  139.             ELSE
  140.                IF FILE (logbook+'.DBF')
  141.                   DO DXCCUPDT
  142.                ELSE
  143.                   @ 23,1 SAY 'ERROR, NO LOGBOOK PRESENT ON DEFAULT DRIVE'
  144.                   WAIT
  145.                ENDIF
  146.             ENDIF
  147.  
  148.          CASE task = 'M'
  149.             IF logbook = '      '
  150.                @ 23,1  SAY 'OPEN A LOGBOOK FIRST'
  151.                WAIT
  152.             ELSE
  153.                IF FILE (logbook+'.DBF')
  154.                   DO DXCCMAN
  155.                ELSE
  156.                   @ 23,1 SAY 'ERROR, NO LOGBOOK PRESENT ON DEFAULT DRIVE'
  157.                   WAIT
  158.                ENDIF
  159.             ENDIF
  160.  
  161.         CASE task = 'X'
  162.              ERASE
  163.              STORE '    ' TO epx
  164.              USE &dxcc
  165.              GOTO BOTTOM
  166.              STORE # TO lastpx
  167.              DO WHILE epx <> '*'
  168.                 @ 8,1 SAY ' CURRENT DXCC FILE IS'
  169.                 @ 8,25 SAY dxcc
  170.                 @ 10,1 SAY ' Which Prefix  (* to terminate) ? '
  171.                 @ 10,35 GET epx
  172.                 READ
  173.                 STORE T TO fpx
  174.                 IF epx <> '*'
  175.                    LOCATE FOR px = TRIM(epx)
  176.                    IF # = lastpx
  177.                       *ERROR OR LAST PREFIX
  178.                       LOCATE FOR px1 = TRIM(epx)
  179.                       IF # < lastpx
  180.                          STORE F TO fpx
  181.                       ENDIF
  182.                    ELSE
  183.                       STORE F TO fpx
  184.                    ENDIF
  185.                    IF fpx
  186.                       @ 12,1  SAY 'ERROR  ???'
  187.                       ?? '                                              '
  188.                    ELSE
  189.                       @ 12,1 SAY country
  190.                       @ 12,11 SAY ' '
  191.                       ?? px,px1,dcall,ddate,dtime,dband,dmode,dstate
  192.                    ENDIF
  193.                 ENDIF
  194.              ENDDO
  195.              USE
  196.              RELEASE epx,fpx,lastpx
  197.  
  198.         CASE task = 'L' .OR. task = 'C' .OR. task = 'D' .OR. task = 'F'
  199.            * DO NOTHING, INHIBIT OTHERWISE BRANCH HERE
  200.  
  201.          OTHERWISE
  202.             ? 'ERROR, DXCC DATABASE does not exist on default disk'
  203.          WAIT
  204.          ENDCASE
  205.       ENDIF
  206.    ENDIF
  207. ENDDO
  208. STORE ' ' TO task
  209. USE
  210. RETURN
  211.    ' TO epx
  212.              USE &dxcc
  213.              GOTO BOTTOM
  214.              ST